import turtle as t
import location_elem as L
import math
def distance(x1,y1,x2,y2):
    return pow(pow(x2-x1,2)+pow(y2-y1,2),0.5)

t.colormode(255)
red=(238,28,37)
yellow=(255,255,0)
flagx=720
flagy=480
t.screensize(flagx,flagy)
print(t.screensize())
t.pencolor(red)

DX=flagx/4/18
DY=flagy/4/12
X1=720
Y1=480
OX=-X1/2+4*DX
OY=Y1/2-3*DY
#print(L.DX,L.DY,L.OX,L.OY)
print(DX,DY,OX,OY)
print(X1,Y1)
L.A=(DX+OX,-DY+OY)
print(L.A)
L.C=(33*DX+OX,-33*DY+OY)
L.B=(DX+OX,-33*DY+OY)
L.D=(33*DX+OX,-DY+OY)
L.E=(29*DX+OX,-33*DY+OY)
L.E1=(7*DX+OX,-11*DY+OY)
L.F=(33*DX+OX,-29*DY+OY)
L.F1=(11*DX+OX,-7*DY+OY)
L.G=(8.5*DX+OX,-18.5*DY+OY)
L.H=(19.5*DX+OX,-7.5*DY+OY)
L.H1=(14*DX+OX,-3*DY+OY)
L.I=(4*DX+OX,-14*DY+OY)
L.GH=pow(11*11*2*DX*DY,0.5)
L.GI=pow(40.5*DX*DY,0.5)
L.J=(17*DX+OX,-5*DY+OY)
L.K=(13.5*DX+OX,-DY+OY)
L.M=(17*DX+OX,-17*DY+OY)
L.N=(17*DX+OX,-DY+OY)
L.O=(17*DX+OX,-33*DY+OY)
L.P=(17*DX+OX,-15*DY+OY)
L.Q=(2*DX+OX,-25*DY+OY)
L.R=(11*DX+OX,-16.5*DY+OY)
L.T=(16.5*DX+OX,-16.5*DY+OY)
L.V=(16.5*DX+OX,-11*DY+OY)
L.W=(4.5*DX+OX,-22.5*DY+OY)
L.X=(3.5*DX+OX,-30.5*DY+OY)
L.Y=(5.5*DX+OX,-30.5*DY+OY)
L.Z=(4*DX+OX,-28*DY+OY)
L.Z2=(5*DX+OX,-27*DY+OY)
L.Y2=(7*DX+OX,-29*DY+OY)
L.X2=(3.5*DX+OX,-33*DY+OY)
#锤把开始
t.pu()
t.goto(L.E)
t.pendown()
t.begin_fill()
t.fillcolor(yellow)
t.goto(L.F)
t.goto(L.F1)
t.goto(L.E1)
t.goto(L.E)
t.end_fill()
t.penup()
#锤把完成
#锤头开始
t.goto(L.G)
t.pendown()
t.begin_fill()
t.seth(45)
t.forward(L.GH)
t.seth(135)
t.forward(L.GI)
t.goto(L.I)
t.goto(L.G)
t.penup()
t.end_fill()
#开始去掉右上角圆
t.goto(L.K)
t.pencolor(red)
r=distance(L.K[0],L.K[1],L.J[0],L.J[1])
t.fillcolor(t.bgcolor())
t.begin_fill()
t.seth(180)
t.forward(r)
t.pendown()
t.seth(270)
t.circle(r,180)
t.seth(180)
t.forward(2*r)
t.penup()
t.end_fill()
#锤子结束 镰刀开始
S=(L.R[0]+distance(L.R[0],L.R[1],L.N[0],L.N[1]),L.R[1])
U=(L.T[0],L.T[1]-distance(L.T[0],L.T[1],S[0],S[1]),)
#print((U[0]-L.OX)/L.DX,(U[1]-L.OY)/L.DY,distance(L.T[0],L.T[1],S[0],S[1]))
#右外侧圆开始
t.goto(L.N)
t.seth(0)
t.pendown()
t.fillcolor(yellow)
t.begin_fill()
t.pencolor(yellow)
r=distance(L.M[0],L.M[1],L.N[0],L.N[1])
t.circle(-r,180)
t.penup()
# #右外侧圆结束 下左外侧圆开始
r=distance(L.P[0],L.P[1],L.O[0],L.O[1])
degree=math.degrees(2*math.asin(distance(L.Q[0],L.Q[1],L.O[0],L.O[1])/(2*r)))
t.goto(L.O)
t.pendown()
t.seth(180)
t.circle(-r,degree)
t.penup()
# #下左外侧圆结束 QW 笔在Q点
t.pendown()
t.goto(L.W)
t.seth(315)
r=distance(L.V[0],L.V[1],U[0],U[1])
degree=math.degrees(2*math.asin(distance(L.W[0],L.W[1],U[0],U[1])/(2*r)))
t.circle(r,degree)
#下左内侧圆结束 在U点
t.seth(0)
r=distance(L.T[0],L.T[1],U[0],U[1])
t.circle(r,90)
#下右内侧圆结束 在S点
t.seth(90)
r=distance(L.R[0],L.R[1],L.N[0],L.N[1])
degree=math.degrees(2*math.asin(distance(L.N[0],L.N[1],S[0],S[1])/(2*r)))
t.circle(r,degree)
t.penup()
t.end_fill()
#结束党徽 开始镰刀把
t.goto(L.X2)
t.seth(0)
t.fillcolor(yellow)
t.begin_fill()
r=distance(L.X[0],L.X[1],L.X2[0],L.X2[1])
t.circle(r,360)
t.end_fill()
t.penup()
#画连接段
t.goto(L.Z)
t.pendown()
t.begin_fill()
t.goto(L.Z2)
t.goto(L.Y2)
t.goto(L.Y)
t.goto(L.Z)
t.end_fill()
t.mainloop()